#include <semaphore.h>
#include <iostream>
//信号量
class Sem
{
public:
    Sem(int value)
    {
        sem_init(&_sem,0,value);//初始化
    }
    void p()
    {
        sem_wait(&_sem);//减一
    }
    void v()
    {
        sem_post(&_sem);//加一
    }
    ~Sem()
    {
        sem_destroy(&_sem);//销毁
    }
private:
    sem_t _sem;
};